package com.cg.service;

import com.cg.ai.guardrail.SafeInputGuardrail;
import dev.langchain4j.service.guardrail.InputGuardrails;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;

/**
 * AI简历分析服务接口
 * 使用@SystemMessage注解和提示词模板
 */
@InputGuardrails({SafeInputGuardrail.class})
public interface AiResumeAnalysisService {

    /**
     * 解析简历文本
     * @param resumeText 简历文本内容
     * @return 解析后的JSON字符串
     */
    @SystemMessage(fromResource = "prompts/resume-parse-prompt.txt")
    @UserMessage("请解析以下简历文本：{{resume_text}}")
    String parseResume(@V("resume_text") String resumeText);

    /**
     * 生成简历测评报告
     * @param userSkills 用户技能
     * @param jobRequirements 岗位要求
     * @return 测评结果的JSON字符串
     */
    @SystemMessage(fromResource = "prompts/resume-evaluation-prompt.txt")
    @UserMessage("请根据用户技能和岗位要求生成简历测评报告。用户技能：{{user_skills}}，岗位要求：{{job_requirements}}")
    String generateEvaluation(@V("user_skills") String userSkills, @V("job_requirements") String jobRequirements);

    /**
     * 生成优化建议
     * @param resumeInfo 简历信息
     * @return 优化建议的JSON字符串
     */
    @SystemMessage(fromResource = "prompts/optimization-prompt.txt")
    @UserMessage("请根据以下简历信息生成优化建议：{{resume_info}}")
    String generateOptimization(@V("resume_info") String resumeInfo);
}
